package main

import (
	"context"
	"github.com/micro/go-micro"
	"github.com/micro/go-micro/registry"
	"github.com/micro/go-plugins/registry/consul"
	"gotest/src/db"
	"gotest/src/modles"
	"gotest/src/routers"
	"log"
)

func main() {
	log.Println("服务器端开始启动============")
	data := db.LoadConfig()
	if data == nil {
		log.Println("加载数据库配置信息异常:")
		return
	}

	consulReg := consul.NewRegistry(
		registry.Addrs("122.51.93.207:8500"),
	)

	//其实下面这段代码的意义就是启动的时候把服务注册进去,并且启动webservier
	service := micro.NewService(
		micro.Name("serviceService"), //注册进consul服务中的service名字
		micro.Address(":10001"),      //注册进consul服务中的端口,也是这里我们gin的server地址
		micro.Registry(consulReg),    //注册到哪个服务器上的consul中
	)
	service.Init() //加了这句就可以使用命令行的形式去设置我们一些启动的配置

	micro.RegisterHandler(service.Server(), new(Greeter))
	if err := service.Run(); err != nil {
		log.Println("服务器端启动成功============")
		log.Fatal(err)
	}
}

type Greeter struct{}

func (g *Greeter) Hello(ctx context.Context, name *string, msg *string) error {
	var pperson modles.TestUser
	pperson.FirstName = *name
	pperson.LastName = *name
	*msg = routers.InsertUser22(pperson)
	return nil
}
